<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Dinic: Referencia del Archivo apifiles/_stack.h</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Dinic
   &#160;<span id="projectnumber">1.0</span>
   </div>
   <div id="projectbrief">Documentacion de la API de DINIC para la cátedra de Matemática Discreta II.</div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generado por Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('__stack_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Todo</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Estructuras de Datos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Archivos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Funciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>&apos;typedefs&apos;</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>&apos;defines&apos;</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Funciones</a>  </div>
  <div class="headertitle">
<div class="title">Referencia del Archivo _stack.h</div>  </div>
</div><!--header-->
<div class="contents">

<p>La librería _stack proporciona una serie de herramientas para almacenar cualquier tipo de elemento en el orden LIFO(Last In, First Out), ultimo en entrar primero en salir, correspondiente a lo que llamamos cotidianamente como una pila.  
<a href="#details">Más...</a></p>
<div class="textblock"><div class="dynheader">
Gráfico de los archivos que directa o indirectamente incluyen a este archivo:</div>
<div class="dyncontent">
<div class="center"><img src="__stack_8h__dep__incl.png" border="0" usemap="#apifiles_2__stack_8hdep" alt=""/></div>
<map name="apifiles_2__stack_8hdep" id="apifiles_2__stack_8hdep">
<area shape="rect" id="node3" href="__stack_8c.html" title="apifiles/_stack.c" alt="" coords="4,80,120,107"/><area shape="rect" id="node5" href="API_8c.html" title="apifiles/API.c" alt="" coords="145,80,244,107"/></map>
</div>
</div>
<p><a href="__stack_8h_source.html">Ir al código fuente de este archivo.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Funciones</h2></td></tr>
<tr class="memitem:adbe0fc6f4fbbfd3266b7ebeadd413cd3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structStack.html">Stack</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#adbe0fc6f4fbbfd3266b7ebeadd413cd3">stack_create</a> (void)</td></tr>
<tr class="memdesc:adbe0fc6f4fbbfd3266b7ebeadd413cd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Crea una pila vacía.  <a href="#adbe0fc6f4fbbfd3266b7ebeadd413cd3">Más...</a><br/></td></tr>
<tr class="separator:adbe0fc6f4fbbfd3266b7ebeadd413cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21780acf29f6bc27fd404a61b0b2fd8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#ac21780acf29f6bc27fd404a61b0b2fd8">stack_destroy</a> (<a class="el" href="structStack.html">Stack</a> S, void **garbage)</td></tr>
<tr class="memdesc:ac21780acf29f6bc27fd404a61b0b2fd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destruye y libera la memoria de la pila S preservando los elementos.  <a href="#ac21780acf29f6bc27fd404a61b0b2fd8">Más...</a><br/></td></tr>
<tr class="separator:ac21780acf29f6bc27fd404a61b0b2fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0aed143ba08a11614cf428f26330750"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#ab0aed143ba08a11614cf428f26330750">stack_push</a> (<a class="el" href="structStack.html">Stack</a> S, void *elem)</td></tr>
<tr class="memdesc:ab0aed143ba08a11614cf428f26330750"><td class="mdescLeft">&#160;</td><td class="mdescRight">Agrega un elemento del tipo Alpha a la parte superior de la pila.  <a href="#ab0aed143ba08a11614cf428f26330750">Más...</a><br/></td></tr>
<tr class="separator:ab0aed143ba08a11614cf428f26330750"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72101773b7770f4aef2041f5b0d5e959"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#a72101773b7770f4aef2041f5b0d5e959">stack_pop</a> (<a class="el" href="structStack.html">Stack</a> S)</td></tr>
<tr class="memdesc:a72101773b7770f4aef2041f5b0d5e959"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quita el elemento superior de la pila.  <a href="#a72101773b7770f4aef2041f5b0d5e959">Más...</a><br/></td></tr>
<tr class="separator:a72101773b7770f4aef2041f5b0d5e959"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceecd8ac8ccae30bcca91b877843e434"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#aceecd8ac8ccae30bcca91b877843e434">stack_isEmpty</a> (<a class="el" href="structStack.html">Stack</a> S)</td></tr>
<tr class="memdesc:aceecd8ac8ccae30bcca91b877843e434"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifica que la pila este vacía.  <a href="#aceecd8ac8ccae30bcca91b877843e434">Más...</a><br/></td></tr>
<tr class="separator:aceecd8ac8ccae30bcca91b877843e434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac271ba7c9291dd690642ee6a28faf2de"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#ac271ba7c9291dd690642ee6a28faf2de">stack_top</a> (<a class="el" href="structStack.html">Stack</a> S)</td></tr>
<tr class="memdesc:ac271ba7c9291dd690642ee6a28faf2de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Muestra el elemento superior de la pila.  <a href="#ac271ba7c9291dd690642ee6a28faf2de">Más...</a><br/></td></tr>
<tr class="separator:ac271ba7c9291dd690642ee6a28faf2de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a663136e888acd5a17e0c190da92b0069"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#a663136e888acd5a17e0c190da92b0069">stack_size</a> (<a class="el" href="structStack.html">Stack</a> S)</td></tr>
<tr class="memdesc:a663136e888acd5a17e0c190da92b0069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Devuelve la cantidad de elementos de la pila.  <a href="#a663136e888acd5a17e0c190da92b0069">Más...</a><br/></td></tr>
<tr class="separator:a663136e888acd5a17e0c190da92b0069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e2d0ba26caffc107704bf6251179226"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#a0e2d0ba26caffc107704bf6251179226">stack_revert</a> (<a class="el" href="structStack.html">Stack</a> S1, <a class="el" href="structStack.html">Stack</a> S2)</td></tr>
<tr class="memdesc:a0e2d0ba26caffc107704bf6251179226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Devuelve en S2 la pila S1 revertida.  <a href="#a0e2d0ba26caffc107704bf6251179226">Más...</a><br/></td></tr>
<tr class="separator:a0e2d0ba26caffc107704bf6251179226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2acf52ad79797bb647e535f848d42a63"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#a2acf52ad79797bb647e535f848d42a63">stack_nextItem</a> (<a class="el" href="structStack.html">Stack</a> S)</td></tr>
<tr class="memdesc:a2acf52ad79797bb647e535f848d42a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Muestra un elemento y corre el visor al siguiente, NULL si no existe.  <a href="#a2acf52ad79797bb647e535f848d42a63">Más...</a><br/></td></tr>
<tr class="separator:a2acf52ad79797bb647e535f848d42a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad64d6f1087fc7f761084a3248160f2a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="__stack_8h.html#ad64d6f1087fc7f761084a3248160f2a1">stack_resetViewer</a> (<a class="el" href="structStack.html">Stack</a> S)</td></tr>
<tr class="memdesc:ad64d6f1087fc7f761084a3248160f2a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sitúa el visor en la parte superior de la pila.  <a href="#ad64d6f1087fc7f761084a3248160f2a1">Más...</a><br/></td></tr>
<tr class="separator:ad64d6f1087fc7f761084a3248160f2a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2>
<div class="textblock"><p>La librería _stack proporciona una serie de herramientas para almacenar cualquier tipo de elemento en el orden LIFO(Last In, First Out), ultimo en entrar primero en salir, correspondiente a lo que llamamos cotidianamente como una pila. </p>
<p>La particularidad de esta pila es que no importa el tipo de elemento que ordene ni se sabe que elemento se ordena. Por este motivo no se puede destruir en el caso de querer sacar el elemento superior o querer liberar la memoria de toda la estructura. Por lo cual, estas dos funciones devuelven el elemento o un arreglo de los elementos que se desean eliminar para que el llamador los elimine si lo considera pertinente. </p>

<p>Definición en el archivo <a class="el" href="__stack_8h_source.html">_stack.h</a>.</p>
</div><h2 class="groupheader">Documentación de las funciones</h2>
<a class="anchor" id="adbe0fc6f4fbbfd3266b7ebeadd413cd3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structStack.html">Stack</a> stack_create </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Crea una pila vacía. </p>
<dl class="section return"><dt>Devuelve</dt><dd>Un puntero a la pila creada. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00031">31</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac21780acf29f6bc27fd404a61b0b2fd8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int stack_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>garbage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destruye y libera la memoria de la pila S preservando los elementos. </p>
<p>Esta función no elimina los elementos que se agregaron en la pila. Es tarea del llamador destruirlos si se consideraba necesario. Esto es así porque no se sabe cual es el tipo de las cosas apiladas y porque no es una tarea de stack_destroy. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>La pila a destruir. </td></tr>
    <tr><td class="paramname">garbage</td><td>Puntero a un arreglo de punteros de elementos que se agregaron a la pila. Si es NULL, stack_destroy no guardara los elementos en ningún lado. El llamador debe tener cuidado de no perder la referencia a esta memoria para no generar memory leaks. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no es nula. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>Cantidad de elementos que se eliminaron efectivamente de la pila. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00056">56</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

</div>
</div>
<a class="anchor" id="ab0aed143ba08a11614cf428f26330750"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int stack_push </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>elem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Agrega un elemento del tipo Alpha a la parte superior de la pila. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>Pila a la cual hay que agregarle el elemento. </td></tr>
    <tr><td class="paramname">elem</td><td>Elemento a ser agregado a la pila. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no es nula. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>1 si se agrego.<br/>
 0 caso contrario. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00090">90</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

<p>Referenciado por <a class="el" href="__stack_8c_source.html#l00169">stack_revert()</a>.</p>

</div>
</div>
<a class="anchor" id="a72101773b7770f4aef2041f5b0d5e959"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* stack_pop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Quita el elemento superior de la pila. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>Pila a la cual se le va a quitar el elemento superior. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no debe estar vacía ni ser nula. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>Elemento que se le quita a la pila. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00110">110</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

<p>Referenciado por <a class="el" href="__stack_8c_source.html#l00056">stack_destroy()</a>.</p>

</div>
</div>
<a class="anchor" id="aceecd8ac8ccae30bcca91b877843e434"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int stack_isEmpty </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verifica que la pila este vacía. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>Pila sobre la cual se hará la verificación. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no es nula. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>True si S esta vacía.<br/>
 False caso contrario. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00133">133</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

<p>Referenciado por <a class="el" href="__stack_8c_source.html#l00056">stack_destroy()</a>, <a class="el" href="__stack_8c_source.html#l00110">stack_pop()</a> y <a class="el" href="__stack_8c_source.html#l00169">stack_revert()</a>.</p>

</div>
</div>
<a class="anchor" id="ac271ba7c9291dd690642ee6a28faf2de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* stack_top </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Muestra el elemento superior de la pila. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>Pila de la cual se va a mostrar el elemento superior. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no es nula. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>El elemento correspondiente a la cabeza de la pila. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00143">143</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

<p>Referenciado por <a class="el" href="__stack_8c_source.html#l00169">stack_revert()</a>.</p>

</div>
</div>
<a class="anchor" id="a663136e888acd5a17e0c190da92b0069"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int stack_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Devuelve la cantidad de elementos de la pila. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>Pila en la cual se contabilizaran los elementos. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no es nula. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>Cantidad de elementos de la pila. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00156">156</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

<p>Referenciado por <a class="el" href="__stack_8c_source.html#l00056">stack_destroy()</a> y <a class="el" href="__stack_8c_source.html#l00169">stack_revert()</a>.</p>

</div>
</div>
<a class="anchor" id="a0e2d0ba26caffc107704bf6251179226"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int stack_revert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Devuelve en S2 la pila S1 revertida. </p>
<p>Función que invierte el orden de la pila utilizando una nueva pila. El llamador debe proporcionar las pilas y se encarga de liberarlas. </p>
<dl class="section warning"><dt>Atención</dt><dd>Es altamente ineficiente en cuanto a la memoria que ocupa. </dd></dl>
<dl class="section pre"><dt>Precondición</dt><dd>Las pilas no son nulas y S2 esta vacía. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>1 si no hubo error.<br/>
 0 caso contrario. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00169">169</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

</div>
</div>
<a class="anchor" id="a2acf52ad79797bb647e535f848d42a63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* stack_nextItem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Muestra un elemento y corre el visor al siguiente, NULL si no existe. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>Pila sobre la cual se itera. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no es nula. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>Elemento al cual esta apuntando el visor. </dd></dl>
<dl class="section warning"><dt>Atención</dt><dd>Esto se usa SOLAMENTE para iterar en el stack, si se elimina el elemento devuelto queda un stack inconsistente. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00191">191</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad64d6f1087fc7f761084a3248160f2a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void stack_resetViewer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structStack.html">Stack</a>&#160;</td>
          <td class="paramname"><em>S</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sitúa el visor en la parte superior de la pila. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">S</td><td>Pila sobre la cual se reseteará el visor. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>La pila S no es nula. </dd></dl>

<p>Definición en la línea <a class="el" href="__stack_8c_source.html#l00206">206</a> del archivo <a class="el" href="__stack_8c_source.html">_stack.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_5116870a98769fcb7fa621a6c1aaaf2c.html">apifiles</a></li><li class="navelem"><a class="el" href="__stack_8h.html">_stack.h</a></li>
    <li class="footer">Generado el Martes, 30 de Septiembre de 2014 12:40:17 para Dinic por
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li>
  </ul>
</div>
</body>
</html>
